/**
 * 项目名：五位一体化工安全信息平台
 * 日期：    2019-12-06 15:05:44
 * Copyright (c) 2015- joysuch-版权所有
 */

package com.joysuch.wwyt.bp.bean.safetyworkcert;

import cn.zlg.common.springmvc.validate.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.joysuch.wwyt.bp.bean.BpWorkSafetyApplyMethodAddBean;
import com.joysuch.wwyt.bp.bean.BpWorkSafetyPeopleTypeBean;
import com.joysuch.wwyt.bp.bean.BpWorkSafetyWebSpaceBean;
import com.joysuch.wwyt.core.bean.BaseAttachmentBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
@ApiModel(value = "作业证公用信息")
public class BpWorkSafetyCertEditBaseBean implements java.io.Serializable {

    //分辨app还是web端:0 app
    @ApiModelProperty(value = "分辨app还是web端:0 app")
    private Integer flag;

    // ID
    @ApiModelProperty(value = "证书id")
    private Long id;

    // 作业证编号
    @ApiModelProperty(value = "作业证编号")
    private String code;

    // 作业类型
    @ApiModelProperty(value = "作业类型")
    private String type;

    // 作业级别
    @ApiModelProperty(value = "作业级别")
    private Integer workLevel;

    @NotNull(field = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "开始时间")
    private java.util.Date startTime;

    // 作业结束时间
    @NotNull(field = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "作业结束时间")
    private java.util.Date endTime;

    // 申请日期
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "申请日期")
    private java.util.Date applyTime;

    @NotNull(field = "申请单位")
    @ApiModelProperty(value = "申请单位")
    private java.lang.Long applyDepartId;

    // 申请人
    @NotNull(field = "申请人")
    @ApiModelProperty(value = "申请人")
    private java.lang.Long applyUserId;

    // 动火内容
    // @NotNull(field = "工作内容")
    @ApiModelProperty(value = "动火内容")
    private java.lang.String workContent;

    // 工作地点
    @ApiModelProperty(value = "工作地点")
    private java.lang.String locationCoords;

    // 所属风险区域
    // @NotNull(field = "风险区域")
    @ApiModelProperty(value = "所属风险区域")
    private java.lang.Long riskDistrictId;

    // 风险点
    // @NotNull(field = "风险点")
    @ApiModelProperty(value = "风险点")
    private java.lang.Long riskPointId;

    // 监护人
    @ApiModelProperty(value = "监护人")
    private String monitorUserCode;

    // 实施安全教育人
    @ApiModelProperty(value = "实施安全教育人")
    private String educationUserCode;

    // 风险级别
    @ApiModelProperty(value = "风险级别")
    private Integer riskLevel;

    // 附件ID
    @ApiModelProperty(value = "附件ID")
    private Long attachmentId;

    // 危害辨识
    @ApiModelProperty(value = "危害辨识")
    private String dangerRecoganize;

    // 编制人
    // @NotNull(field = "编制人")
    @ApiModelProperty(value = "编制人")
    private Long editUserId;

    // 涉及的其他特殊行业
    @ApiModelProperty(value = "涉及的其他特殊行业:1吊装;2受限空间;3高出;4临时用电;5盲板抽堵;6动土;7短路;8动火;9一般")
    private List<Long> otherSpecialWorkId;

    // 2019年12月15日11:58
    // jha评估ID
    @ApiModelProperty(value = "jha评估ID")
    private Long jhaEvaluationId;

    // 2019年12月13日 申华要求添加字段
    // 是否需用电申请签单
    @ApiModelProperty(value = "是否需用电申请签单")
    private String needEletricityApplySheet;

    // 工具名称
    @ApiModelProperty(value = "工具名称")
    private String workToolName;

    // 2019年12月13日 申华要求添加字段 -- 结束
    // 附件
    @ApiModelProperty(value = "附件")
    private BaseAttachmentBean attachment;

     @ApiModelProperty(value = "工作地点")
    private String jobSite;

    // 操作人
    // @NotEmpty
    @ApiModelProperty(value = "操作人")
    private List<String> people;

    // 安全措施
    @ApiModelProperty(value = "安全措施")
    private List<BpWorkSafetyApplyMethodAddBean> safetyMethods;

    // columns END
    //是否报警
    @ApiModelProperty(value = "是否报警")
    private String alarm;

    //申请人证书ids
    @ApiModelProperty(value = "申请人证书ids")
    private List<Long> applyUserCertIds;

    //监护人证书ids
    @ApiModelProperty(value = "监护人证书ids")
    private List<Long> monitorUserCertIds;

    //实施安全教育人证书ids
    @ApiModelProperty(value = "实施安全教育人证书ids")
    private List<Long> educationUserCertIds;

    //编制人证书ids
    @ApiModelProperty(value = "编制人证书ids")
    private List<Long> editUserCertIds;

    //操作人
    @ApiModelProperty(value = "操作人")
    private List<OperatorUserCertDto> operatorUserCertDtos;

    //受限空间分析
    @ApiModelProperty(value = "受限空间分析")
    private List<BpWorkSafetyWebSpaceBean> webSpaceBeans;

    @ApiModelProperty(value = "作业证人员分类")
    private BpWorkSafetyPeopleTypeBean peopleTypeBean;


}
